<template>
	<basic-container>
		<avue-crud :option="option" :data="data" ref="crud" v-model="form" :table-loading="loading" :permission="permissionList"
		 :page="page" @refresh-change="refreshChange" @search-change="searchChange" @search-reset="searchReset"
		 @current-change="currentChange" @size-change="sizeChange" @on-load="onLoad">
			<!-- 自定义添加搜索条件  按日期搜索  -->
			<template slot="search">
				<el-col :md="12" :xs="12" style="height: 52px;">
					<el-form-item label="有效期">
						<el-date-picker text="有效期" v-model="acTime" type="datetimerange" range-separator="至" size="mini"
						 start-placeholder="活动开始日期" :default-time="['12:00:00', '22:00:00']" end-placeholder="活动结束日期" align="right"
						 format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
						</el-date-picker>
					</el-form-item>
				</el-col>
			</template>
			<template slot-scope="scope" slot="acRebate">
				<div v-if="scope.row.acRebate">{{scope.row.acRebate}}折</div>
			</template>
			<template slot-scope="{ row }" slot="organizationIds">
				<div style="cursor: pointer;" @click="handleRowClick(row)">点击查看</div>
			</template>
			<template slot-scope="scope" slot="menu">
				<el-button @click="auditAct(scope.row)" v-if="scope.row.acStatus==3&&scope.row.type==1" size="mini" type="text" v-has="'/mall-cloud-activity/activity/platformAuditAct'">审核</el-button>
				<el-button @click="showAct(scope.row)"  size="mini" type="text">查看</el-button>
				<el-button @click="applyList(scope.row)" size="mini" type="text" v-has="'/mall-cloud-activity/activityGoods/list'">申请列表</el-button>
				<el-button @click="cancelActivity(scope.row.id)" v-if="scope.row.acStage!=4&&scope.row.acStage!=-1 && scope.row.acStage!=-2" size="mini"
				 type="text" v-has="'/mall-cloud-activity/activity/cancel'">取消</el-button>
			</template>
		</avue-crud>
		<el-drawer :wrapperClosable="false" :visible.sync="drawerNew" :with-header="false" size="60%">
			<div class="demo-drawer__header">
				<div class="drawerHeader">
					<strong>查看活动</strong>
				</div>
			</div>
			<div class="demo-drawer__content">
				<avue-form ref="form" v-model="obj" :option="newOption" v-if="drawerNew" >
					<template slot-scope="scope" slot="acContent">
						<el-input disabled :value="obj.acContent || '无活动说明'"></el-input>
					</template>
					<template slot-scope="scope" slot="acGoods">
						<div>
							<el-form class="demo-form-inline" >
								<el-form-item v-for="(domain, index) in obj.acFullcuts" label="满" :key="index" :prop="'domains.' + index + '.value'" style="margin: 0 0 5px 0;">
									<el-input style="width: 100px;"  :disabled="true" v-model="domain.fullPrice" @blur="changeMoney()"></el-input>
									<span style="padding: 0 5px;">赠送商品</span>
									<div @click="changeGoods(index)" style="display: inline;">
										<el-input readonly :disabled="isView" style="width: 50%;margin-right: 5px;" v-model="domain.goodsName"></el-input>
									</div>
								</el-form-item>
							</el-form>
						</div>
					</template>
					<template slot-scope="scope" slot="acApplyEndTime">
						<div class="upload">
							<el-date-picker :disabled="true" v-model="obj.acApplyEndTime" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
							type="datetime" placeholder="选择报名截止日期时间" align="right" :picker-options="pickerOption">
							</el-date-picker>
						</div>
					</template>
					<template slot-scope="scope" slot="acTime">
						<div class="upload">
							<el-date-picker v-model="obj.acTime" :disabled="true" type="datetimerange" :picker-options="pickerOptions" range-separator="至"
							start-placeholder="活动开始日期" end-placeholder="活动结束日期" align="right" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
							</el-date-picker>
						</div>
					</template>
					<template slot-scope="scope" slot="preheatTime">
						<div class="upload">
							<div class="upload">
								<el-date-picker
									:disabled="true"
									v-model="obj.preheatTime"
									format="yyyy-MM-dd HH:mm:ss"
									value-format="yyyy-MM-dd HH:mm:ss"
									type="datetime"
									placeholder="选择活动预热时间"
									align="right"
									:picker-options="pickerOption"
								></el-date-picker>
							</div>
						</div>
					</template>
					<template slot-scope="scope" slot="acPcAccUrl">
						<div class="upload">
							<el-input style="margin-right: 0.2rem;" :disabled="true" @focus="uploadbtn(1)" v-model="obj.acPcAccUrl"  :clearable="true" placeholder="最佳尺寸:1280px*500px"/>
							<el-image
								v-if="obj.acPcAccUrl"
								@click="uploadbtn"
								fit="contain"
								:src="obj.acPcAccUrl"
								style="margin-right: 0.2rem;width: 50px; height: 50px"
							></el-image>
						</div>
					</template>
					<template slot-scope="scope" slot="acH5AccUrl">
						<div class="upload">
							<el-input style="margin-right: 0.2rem;" :disabled="true" @focus="uploadbtn(2)"  v-model="obj.acH5AccUrl" placeholder="最佳比例2:1"/>
							<el-image
								v-if="obj.acH5AccUrl"
								@click="uploadbtn"
								fit="contain"
								:src="obj.acH5AccUrl"
								style="margin-right: 0.2rem;width: 50px; height: 50px;margin: 0 0.2rem;"
							></el-image>
						</div>
					</template>
					<template slot-scope="scope" slot="appPcAccUrl">
						<div class="upload">
							<el-input style="margin-right: 0.2rem;" :disabled="true" v-model="obj.appPcAccUrl" placeholder="图片比例：1：1" :readonly="true" />
							<el-image
								v-if="obj.appPcAccUrl"
								@click="uploadbtn"
								fit="contain"
								:src="obj.appPcAccUrl"
								style="margin-right: 0.2rem;margin: 0 0.2rem;width: 50px; height: 50px"
							></el-image>
						</div>
					</template>
					<template slot-scope="scope" slot="menuForm">
						<el-button  @click="closeDrawer">关闭</el-button>
					</template>
				</avue-form>
			</div>
		</el-drawer>
		<!-- 申请列表 -->
		<el-drawer :wrapperClosable="true" :visible.sync="drawerActivity" :with-header="false" size="60%">
			<div class="demo-drawer__header">
				<div class="drawerHeader">
					<strong>申请列表</strong>
				</div>
			</div>
			<div class="demo-drawer__content">
				<avue-crud ref="goodsCrud" :data="goodsList" :option="optionGoods" v-model="objGoods" :table-loading="goodsloading"
				 :permission="permissionList" :page="goodsPage" @selection-change="selectionChange" @refresh-change="refreshGoodsChange"
				 @search-change="searchGoodsChange" @search-reset="searchGoodsReset" @current-change="currentGoodsChange"
				 @size-change="sizeGoodsChange" @on-load="onGoodsLoad">
					<template slot-scope="{row}" slot="goodsMainPhotoUrl">
						<img :src="row.goodsMainPhotoUrl" style="width:50px;height:50px;" />
					</template>
					<template slot-scope="{row}" slot="price">
						<span>{{row.goodsPriceBean.price}}</span>
					</template>
					<template slot-scope="scope" slot="menu">
						<el-button @click="goodsDetail(scope.row.goodsId)" size="mini" type="text">详情</el-button>
						<el-button v-if="scope.row.agStatus==0 ||scope.row.agStatus==1" @click="refuse(scope.row.id)" size="mini" type="text" v-has="'/mall-cloud-activity/activityGoods/joinActivityAudit'">拒绝</el-button>
						<el-button v-if="scope.row.agStatus==0 ||scope.row.agStatus==-1" @click="pass(scope.row.id)" size="mini" type="text" v-has="'/mall-cloud-activity/activityGoods/joinActivityAudit'">通过</el-button>
						<el-button @click="viewStore(scope.row.storeId)" size="mini" type="text">查看店铺</el-button>
					</template>
				</avue-crud>
				<div style="padding: 10px 30px;">
					<el-button type="primary" @click="refuseAll()" v-has="'/mall-cloud-activity/activityGoods/joinActivityAudit'">全部拒绝</el-button>
					<el-button type="primary" @click="passAll()" v-has="'/mall-cloud-activity/activityGoods/joinActivityAudit'">全部通过</el-button>
				</div>
			</div>
		</el-drawer>
		<!-- 查看活动路径-->
		<el-dialog title="活动路径" :visible.sync="dialogLink" width="30%">
			<div class="diaLink">
				<!-- <strong style="color: #000;">PC端活动路径：</strong>
				<p>{{pcLink}}</p> -->
				<strong style="color: #000;">H5端活动路径：</strong>
				<p>{{h5Link}}</p>
			</div>
			<span slot="footer" class="dialog-footer">
				<el-button type="primary" @click="dialogLink = false">关 闭</el-button>
			</span>
		</el-dialog>
		<selFile ref="selFile" selectType="radio" @callback="selFileCallBack" albumCode="pic_root" dialogTitle="选择图片1"
		 selMaxWidth="500px" selMaxHeight="1280px">
		</selFile>
		<el-drawer title="商品详情" size="70%" :withHeader=false :visible.sync="dialogTableVisible" width="70%">
			<add-goods v-if="dialogTableVisible" :disadledSpec="disadledSpec" :goodsId="goodsId" :isPublish="isPublish" :isCheck="isCheck"
			 :isRedact="isRedact"></add-goods>
		</el-drawer>
		<store-detail @closeDrawer="closeDrawers" :storeId="storeId" :isActivity="true" :isView="isView" :dialogFormVisible="dialogFormVisible"></store-detail>

		<el-dialog
				width="60%"
				:visible.sync="auditDialogFormVisible"
				:title="auditTitle"
				@close="closeDialog"
				append-to-body
				:close-on-click-modal="false"
		>
			<avue-form ref="formAudit" v-model="objAudit" :option="optionAudit" @submit="submitAudit">
				<template slot-scope="scope" slot="acTitle">
					<div class="auditColor" v-if="objAudit.acTitle">{{objAudit.acTitle}}</div>
				</template>
				<template slot-scope="scope" slot="acTime">
					<div class="auditColor"  v-if="objAudit.acBeginTime">{{objAudit.acBeginTime}} 至 {{objAudit.acEndTime}} </div>
				</template>
				<template slot-scope="scope" slot="isSuperposition">
					<div class="auditColor" > 
						<div v-if="objAudit.isSuperposition">是 </div>
						<div v-else>否 </div>
					</div>
				</template>
				<template slot-scope="scope" slot="acH5AccUrl">
					<el-image 
						style="width: 100px; height: 100px"
						 fit="contain"
						:src="objAudit.acH5AccUrl" 
						:preview-src-list="[objAudit.acH5AccUrl]">
					  </el-image>
				</template>
				<template slot-scope="scope" slot="acFullcuts">
					<div class="auditColor"  v-if="objAudit.acFullcuts.length>0">
						<div v-if="objAudit.fullType=='1'" v-for="item of objAudit.acFullcuts" :key="item.id">满 ￥ {{item.fullPrice}} , 送{{item.goodsName}}</div>
						<div v-if="objAudit.fullType=='2'" v-for="item of objAudit.acFullcuts" :key="item.id">满 {{item.fullPrice}} 件 , 送{{item.goodsName}}</div>
					</div>
				</template>
				<template slot-scope="scope" slot="acContent">
					<div class="auditColor"  v-if="objAudit.acContent">{{objAudit.acContent}}</div>
				</template>
			</avue-form>
		</el-dialog>
		<!--		点击查看区域对话框-->
		<el-dialog title="区域" @close="closeAreas" :visible.sync="currentGoodsVis" width="40%" center>
			<span style="padding: 20px;color: #000;">{{ currentGoodsName }}</span>
			<div style="padding: 20px;max-height: 300px;overflow: scroll;line-height: 30px;">
				<el-tree :data="currentAreas" :default-expanded-keys="defaultKeys" :default-checked-keys="defaultKeys" show-checkbox node-key="id" accordion ref="goodsClassTree" highlight-current :props="propsClassOrgination"></el-tree>
			</div>
		</el-dialog>
	</basic-container>
</template>

<script>
	import storeDetail from '@/components/store/storeDetail.vue'
	import selFile from '@/components/file/selFile'
	import {
		saveOrUpdate,
		getActList,
		joinActivityAudit,
		getList,
		cancel,
		platformAuditAct
	} from '@/api/base/activity/discountAct'
	import { getListTree} from '@/api/base/store/store';
	var baseUrl='https://testapimall.sunac.com.cn/'
	import addGoods from '@/views/base/goods/seller/addGoods';
	import {validatNum,validatPrice,validatPrice1} from '@/util/validate.js'
	
	import {
		mapGetters
	} from "vuex";
	var Dict = JSON.parse(localStorage.getItem("mall-dictionary")).content;
	var VAILD = [{
		label: '不包邮',
		value: 0
	}, {
		label: '包邮',
		value: 1
	}, ]
	var YES_OR_NO_STR = [{
			label: '满金额',
			value: '1'
		}, {
			label: '满件',
			value: '2'
		}, ]
	var YES_OR_NO = [{
			label: '关闭',
			value: 0
		}, {
			label: '开启',
			value: 1
		}, {
			label: '平台关闭',
			value: 2
		}, {
			label: '待平台审核',
			value: 3
		},  ]
	var OPEN_OR_NOT = [{
		label: '拒绝',
		value: 0
	}, {
		label: '同意',
		value: 1
	}, ]
	var YES_OR_NO_BOOLEAN = [{
		label: '否',
		value: false
	}, {
		label: '是',
		value: true
	}, ]
	export default {
		data() {
			return {
			defaultKeys:[],
				currentAreas: '',
				currentGoodsVis: false,
				currentGoodsName: '',
				propsClassOrgination: {
					label: 'name',
					id: 'id',
					children: 'childrenNodes',
				},
				discountNum:0,
				fullPrice:0,
				fullFlag:false,
				fullPriceFlag:false,
				fullPriceError:'',
				fullDisNumFlag:false,
				auditDialogFormVisible:false,
				auditTitle:"活动审核",
				objAudit:{},
				optionAudit: {
					labelWidth: 150,
					emptyBtn:false,
					column: [{
							label: "活动名称",
							prop: "acTitle",
							span: 24,
							formslot:true,
						},
						{
							label: "活动时间",
							prop: "acTime",
							span: 24,
							formslot:true,
						},
						{
							label: "活动内容",
							prop: "acFullcuts",
							span: 24,
							formslot:true,
						},
						{
							label: "是否允许叠加",
							prop: "isSuperposition",
							display:true,
							span: 24,
							formslot:true,
						},
						{
							label: "活动横幅",
							prop: "acH5AccUrl",
							span: 24,
							formslot:true,
						},
						{
							label: "活动描述",
							prop: "acContent",
							span: 24,
							formslot:true,
						},
						{
							label: "审核",
							prop: "acStatus",
							span: 16,
							type: "radio",
							row: true,
							valueDefault:0,
							dicData: OPEN_OR_NOT,
							rules:[
								{
									required:true,
									message:'请选择审核结果',
									trigger: 'blur'
								}
							],
							change:({value})=>{
								console.log('value',value)
							}
						},
					]
				},
				storeId: "",
				isView: true,
				dialogFormVisible: false,
				pickerOptions: {
					disabledDate(time) {
						return time.getTime() + 3600 * 1000 * 24 * 1 < Date.now();
					},
					shortcuts: [{
						text: '未来一周',
						onClick(picker) {
							const end = new Date();
							const start = new Date();
							end.setTime(start.getTime() + 3600 * 1000 * 24 * 7);
							picker.$emit('pick', [start, end]);
						}
					}, {
						text: '未来一个月',
						onClick(picker) {
							const end = new Date();
							const start = new Date();
							end.setTime(start.getTime() + 3600 * 1000 * 24 * 30);
							picker.$emit('pick', [start, end]);
						}
					}, {
						text: '未来三个月',
						onClick(picker) {
							const end = new Date();
							const start = new Date();
							end.setTime(start.getTime() + 3600 * 1000 * 24 * 90);
							picker.$emit('pick', [start, end]);
						}
					}]
				},
				pickerOption: {
					disabledDate(time) {
						return time.getTime() + 3600 * 1000 * 24 * 1 < Date.now();
					},
					shortcuts: [{
						text: '今天',
						onClick(picker) {
							picker.$emit('pick', new Date());
						}
					}, {
						text: '明天',
						onClick(picker) {
							const date = new Date();
							date.setTime(date.getTime() + 3600 * 1000 * 24);
							picker.$emit('pick', date);
						}
					}, {
						text: '一周后',
						onClick(picker) {
							const date = new Date();
							date.setTime(date.getTime() + 3600 * 1000 * 24 * 7);
							picker.$emit('pick', date);
						}
					}]
				},
				form: {},
				pcLink: '',
				h5Link: '',
				query: {
					acType: 8
				},
				dialogTableVisible: false, //商品详情
				isPublish: false,
				isCheck: false,
				isRedact: false,
				disadledSpec: false,
				goodsId: "",
				dialogLink: false,
				drawerActivity: false,
				//申请列表商品
				goodsList: [],
				imageType: 1,
				data: [],
				loading: true,
				goodsloading: true,
				actGoodsLoading: true,
				rolesTree: [],
				rolesKeys: [],
				acTime: '',
				box: false,
				page: {
					pageSize: 10,
					currentPage: 1,
					total: 0
				},
				goodsPage: {
					pageSize: 10,
					currentPage: 1,
					total: 0
				},
				idList: [],
				goodsQuery: {},
				actGoodsQuery: {
					acId: ''
				},
				objGoods: {},
				//店铺商品列表
				optionGoods: {
					header: false,
					selection: true,
					menu: true,
					editBtn: false,
					delBtn: false,
					search: true,
					border: true,
					searchMenuSpan:8,
					column: [{
							label: "商品名称",
							prop: "goodsName",
							labelWidth: 300,
							search: true,
						},
						{
							label: "申请状态",
							type: 'select',
							prop: "agStatus",
							dicData: Dict.STORE_BRAND_STATUS,
							search: true,
						},
						{
							label: "店铺名称",
							prop: "storeName",

						}, {
							label: "商城售价",
							prop: "price",
							slot:true,
						},{
							label: "签约区域",
							prop: "signingAreaName",
							
						},{
							label: "商品评分",
							prop: "goodsAvgScore",
							
						},
					]
				},
				//所有活动
				option: {
					size: 'mini',
					excelBtn: false,
					addBtn: false,
					delBtn: false,
					editBtn: false,
					border: true,
					"align": "center",
					search: true,
					rowKey: 'id',
					columnBtn: false,
					menuWidth: 270,
					column: [{
							label: "活动标题",
							prop: "acTitle",
							width: 200,
							fixed:true,
							align:'left',
							search: true,
						},{
						label: '区域',
						prop: 'organizationIds',
						value: 'organizationIds',
						searchSpan:6,
						search: true,
						multiple:true,
						slot:true,
						defaultExpandAll:false,
						dicUrl:'/base/organization/listTree',
						type: 'tree',
						props: {
							label: 'name',
							value: 'id',
							children: 'childrenNodes'
						},
					},{
							label: "活动所属",
							prop: "type",
							type:'select',
							dicData:Dict.STORE_OR_PLATFORM_TYPE_ENUM,
							search: true,
						},
						{
							label: "创建时间",
							prop: "addTime",
							width: 150,
						},{
							label: "创建人",
							prop: "createUserName",
							width: 150,
						},
						{
							label: "开始时间",
							prop: "acBeginTime",
							width: 160,
						}, {
							label: "结束时间",
							prop: "acEndTime",
							width: 160,
						}, {
							label: "邮费类型",
							prop: "acFreeShipping",
							dicData: VAILD,
							type: 'select',
						}, {
							label: "是否开启",
							prop: "acStatus",
							dicData: Dict.ACTIVITY_STATE_ENUM,
							type: 'select',
							search: true,
						}, {
							label: "活动状态",
							prop: "acStage",
							type: 'select',
							dicData: Dict.ACTIVITY_STAGE_ENUM,
							search: true,
						},

					]
				},
				obj: {
					acFullcuts: [
						{
							fullPrice: '',
							goodsName: '',
							giveGoodsId: ''
						}
					]
				},
				drawerNew: false,
				newOption: {
				// size: 'mini',
				submitBtn:false,
				emptyBtn: false,
				labelWidth: '120',
				column: [
					{
						label: '活动名称',
						prop: 'acTitle',
						tip: '活动名称不超过10个字符',
						span: 16,
						maxlength: 10,
						disabled: true,
						row: true,
						rules: [
							{
								required: true,
								message: '请输入活动名称',
								trigger: 'blur'
							}
						]
					},
					{
						label: '是否满件赠',
						prop: 'fullType',
						span: 16,
						disabled: true,
						type: 'radio',
						row: true,
						dicData: YES_OR_NO_STR,
						valueDefault:'1',
						rules: [
							{
								required: true,
								message: '请选择满赠类型',
								trigger: 'blur'
							}
						]
					},
					{
						label: '是否允许叠加',
						prop: 'isSuperposition',
						span: 16,
						type: 'switch',
						row: true,
						display: false,
						disabled: true,
						dicData: YES_OR_NO_BOOLEAN,
						valueDefault: false,
						rules: [
							{
								required: true,
								message: '请选择是否允许叠加',
								trigger: 'blur'
							}
						]
					},
					{
						label: '活动满赠',
						// type: 'dynamic',
						prop: 'acGoods',
						span: 24,
						disabled: true,
						row: true,
						formslot: true,
						rules: [
							{
								required: true,
								message: "请填写满赠活动规则"
							}
						]
					},
					{
						label: "活动时间范围",
						prop: "acTime",
						type: "datetime",
						formslot: true,
						row: true,
						disabled: true,
						span: 16,
						rules: [{
							required: true,
							message: "请选择活动时间范围",
							trigger: "blur"
						}],
					},
					{
						label: 'H5端活动横幅',
						prop: 'acH5AccUrl',
						disabled: true,
						tip: '最佳比例:2:1',
						formslot: true,
						row: true,
						span: 22,
						rules: [
							{
								required: true,
								message: '请选择H5端活动横幅',
								trigger: 'change'
							}
						]
					},
					{
						label: '邮费类型',
						prop: 'acFreeShipping',
						span: 16,
						type: 'radio',
						dicData: VAILD,
						disabled: true,
						valueDefault: 0,
						row: true,
						rules: [
							{
								required: true,
								message: '请选择邮费类型',
								trigger: 'blur'
							}
						],
					},
					{
						label: '活动说明',
						prop: 'acContent',
						formslot: true,
						tip: '活动说明不超过50个字符',
						type: 'textarea',
						minRows: 2,
						span: 16,
						maxlength: 50,
						disabled: true,
					}
				]
			},
			};
		},
		watch:{
			'obj.fullType'(val){
				if(val==1){//满金额
					this.newOption.column[2].display=false
				}else if(val==2){//满件
					this.newOption.column[2].display=true
				}
			}
		},
		computed: {
			...mapGetters(["permission", 'userInfo']),
			permissionList() {
				return {
					addBtn: this.vaildData(this.permission["/mall-cloud-base/userType/addItem"], false),
					viewBtn: this.vaildData(this.permission["/mall-cloud-base/userType/detail"], false),
					delBtn: this.vaildData(this.permission["/mall-cloud-base/userType/delete"], false),
					editBtn: this.vaildData(this.permission["/mall-cloud-base/userType/editItem"], false)
				};
			},
		},
		components: {
			selFile,
			addGoods,
			storeDetail
		},
		methods: {
			closeAreas(){
				this.currentGoodsVis = false;
			},
			handleRowClick(row) {
				this.currentAreas.forEach(item => {
					item.disabled = true; //可选
					item.childrenNodes.forEach(obj => {
						obj.disabled = true; //可选
						obj.childrenNodes.forEach(nodes => {
							nodes.disabled = true; //可选
							nodes.childrenNodes.forEach(child=>{
								child.disabled = true; //可选

							})
						});
					});
				});
				if(row.organizationIds.length>0){
					this.currentGoodsName= "活动名称： "+row.acTitle
					this.defaultKeys=row.organizationIds
					this.currentGoodsVis = true;
				}else{
					this.$message({
						type: "error",
						message: "该活动未设置区域!"
					});
				}
			},
			//审核店铺活动
			auditAct(row) {
				this.objAudit = row
				this.auditDialogFormVisible = true
			},
			//关闭查看
			closeDrawer() {
				this.drawerNew = false;
				this.$refs.form.resetForm();
				this.$refs["form"].clearValidate();
			},
			//查看活动
			showAct(row) {
				this.obj = row;
				this.obj.acTime = []
				this.obj.acTime[0] = row.acBeginTime
				this.obj.acTime[1] = row.acEndTime
				if(this.obj.acFullcuts.length>0){
					this.obj.acGoods = '0';
				}
				this.drawerNew = true;
			},
			//审核店铺活动提交
			submitAudit(loading, done){
				this.loading = true;
				if(this.objAudit.acStatus!=0 && this.objAudit.acStatus!=1) {
					this.$message.error('请选择审核结果');
					done();
					this.onLoad(this.page);
					return
				}
				platformAuditAct(this.objAudit.id,this.objAudit.acStatus).then((res)=>{
					if(res.data.code==200){
						this.$message.success('审核成功！');
					}else{
						this.$message.error(res.data.message);
					}
					this.closeDialog()
					this.loading = true;
					done();
					this.onLoad(this.page);
					setTimeout(res=>{
						done()
					},1000)
				});

			},
			closeDialog(){
				this.$nextTick(()=>{
					this.$refs["formAudit"].clearValidate();
					this.$refs["formAudit"].resetForm();
				});
				this.auditDialogFormVisible = false;
			},
			//折扣规则校验
			checkDisCount(){
				let num=this.discountNum
				let x=0
				this.fullDisNumFlag= this.obj.acRebate1.some(item=>{
					if(item.discountNum!=undefined){
						if(item.discountNum<1 || item.discountNum>99){
							return true
						}else{
							return !validatNum(item.discountNum)
						}
					}
				})
				if(this.fullDisNumFlag){
					return this.$message.error('折扣为1-99的正整数')
				}
			},
			//查看店铺详情
			viewStore(storeId) {
				this.storeId = storeId
				this.dialogFormVisible = true
				this.isView = true
			},
			//关闭店铺详情弹框
			closeDrawers() {
				this.dialogFormVisible = false
			},
			//统计活动
			statisticsBut() {},
			// 查看商品详情
			goodsDetail(id) {
				//查看
				this.goodsId = id;
				this.isCheck = true;
				this.dialogTableVisible = true;
			},
			//单个拒绝
			refuse(goodsId) {
				this.goodsloading = true;
				var data = {
					agIds: goodsId,
					operateType: -1
				}
				console.log(data)
				joinActivityAudit(data).then((res) => {
					this.goodsloading = false;
					this.onGoodsLoad(this.goodsPage);
					if (res.data.code == 200) {
						this.$message({
							type: "success",
							message: "操作成功!"
						});
					} else {
						this.$message.error(res.data.message);
					}

				}, error => {
					console.log(error)
				});
			},
			//单个同意
			pass(goodsId) {
				this.goodsloading = true;
				var data = {
					agIds: goodsId,
					operateType: 1
				}
				console.log(data)
				joinActivityAudit(data).then((res) => {
					this.goodsloading = false;
					this.onGoodsLoad(this.goodsPage);
					if (res.data.code == 200) {
						this.$message({
							type: "success",
							message: "操作成功!"
						});
					} else {
						this.$message.error(res.data.message);
					}
				}, error => {
					console.log(error)
				});
			},
			//全部拒绝
			refuseAll() {
				if(this.idList.length==0){
					this.$message.success('至少选择一个商品！')
					return;
				}
				console.log(this.idList)
				this.goodsloading = true;
				var data = {
					agIds: this.idList,
					operateType: -1
				}
				console.log(data)
				joinActivityAudit(data).then((res) => {
					this.$refs.goodsCrud.searchReset()
					this.goodsloading = false;
					this.onGoodsLoad(this.goodsPage);
					if (res.data.code == 200) {
						this.$message({
							type: "success",
							message: "操作成功!"
						});
					} else {
						this.$message.error(res.data.message);
					}

				}, error => {
					console.log(error)
				});
			},
			//全部通过
			passAll() {
				if(this.idList.length==0){
					this.$message.success('至少选择一个商品！')
					return;
				}
				console.log(this.idList)
				this.goodsloading = true;
				var data = {
					agIds: this.idList,
					operateType: 1
				}
				console.log(data)
				joinActivityAudit(data).then((res) => {
					this.$refs.goodsCrud.searchReset()
					this.goodsloading = false;
					this.onGoodsLoad(this.goodsPage);
					if (res.data.code == 200) {
						this.$message({
							type: "success",
							message: "操作成功!"
						});
					} else {
						this.$message.error(res.data.message);
					}

				}, error => {
					console.log(error)
				});
			},
			//查看活动链接
			activityLink(row) {
				this.pcLink = row.acPcAccUrl
				this.h5Link = baseUrl+'pages/activity/activity?id=' + row.id
				this.dialogLink = true
			},

			//图片返回数据
			selFileCallBack(obj) {
				if (this.imageType == 1) {
					this.obj.acPcAccUrl = obj[0]
				} else if (this.imageType == 2) {
					this.obj.acH5AccUrl = obj[0]
				} else if (this.imageType == 3) {
					this.obj.appPcAccUrl = obj[0]
				}
				console.log(obj)
			},
			//打开选取图片的弹框
			uploadbtn(type) {
				this.imageType = type
				this.$refs.selFile.open();
			},
			//取消活动
			cancelActivity(id) {
				this.$confirm("是否确认取消该活动?", {
						confirmButtonText: "确定",
						cancelButtonText: "取消",
						type: "warning"
					})
					.then(() => {
						return cancel(id);
					})
					.then(res => {
						if (res.data.success) {
							//如果当前不是第一页并且最后一页剩余一条数据(解决最后一页删除完后还查询最后一页后导致空白的问题)
							if(this.query.acStage==3 && this.page.currentPage>1 && this.page.total%this.page.pageSize==1){
								this.page.currentPage=this.page.currentPage-1;
							}
							this.onLoad(this.page);
							this.$message({
								type: "success",
								message: "操作成功!"
							});
						} else {
							this.$message.error(res.data.message);
						}
					});
			},
			//打开申请列表弹框
			applyList(row) {
				console.log(row)
				this.goodsQuery.acId = row.id
				this.onGoodsLoad(this.goodsPage);
				this.drawerActivity = true
			},
			//申请列表时，选择商品的回调
			selectionChange(list) {
				this.idList = []
				list.forEach((item, index) => {
					this.idList[index] = item.id
				})
				console.log(this.idList)
			},
			// 申请列表时 商品表格方法
			searchGoodsReset() {
				this.idList = []
				this.$refs.goodsCrud.toggleSelection();
				this.goodsPage.currentPage = 1
				var data={
					goodsStatus:0,
					acId:this.goodsQuery.acId
				}
				this.goodsQuery=data
				this.onGoodsLoad(this.goodsPage);
			},
			searchGoodsChange(params) {
				this.idList = []
				this.$refs.goodsCrud.toggleSelection();
				this.goodsPage.currentPage = 1
				this.goodsQuery.goodsStatus = 0
				this.goodsQuery.goodsName = params.goodsName
				this.goodsQuery.agStatus = params.agStatus
				this.onGoodsLoad(this.goodsPage, params);
			},

			currentGoodsChange(currentPage) {
				this.goodsPage.currentPage = currentPage;
				this.onGoodsLoad(this.goodsPage)
			},
			sizeGoodsChange(pageSize) {
				this.goodsPage.pageSize = pageSize;
				this.onGoodsLoad(this.goodsPage)
			},
			refreshGoodsChange() {
				this.idList = []
				this.goodsPage.currentPage = 1
				this.$refs.goodsCrud.toggleSelection();
				this.onGoodsLoad(this.goodsPage);
			},
			onGoodsLoad(goodsPage, params = {}) {
				params.goodsStatus = 0;
				getList(
					goodsPage.currentPage,
					goodsPage.pageSize,
					Object.assign(params, this.goodsQuery)
				).then(res => {
					this.goodsloading = false;
					const data = res.data;
					this.goodsPage.total = data.count;
					this.goodsList = data.data;
				});
			},

			//清空搜索
			searchReset() {
				this.acTime = ''
				this.query = {
					acType: 8,
				};
				this.onLoad(this.page);
			},
			searchChange(params,done) {
				this.page.currentPage = 1
				params.acBeginTime = this.acTime[0]
				params.acEndTime = this.acTime[1]
				params.acType = 8
				console.log(params)
				this.query = params;
				this.onLoad(this.page, params,done);
			},

			currentChange(currentPage) {
				this.page.currentPage = currentPage;
				this.onLoad(this.page)
			},
			sizeChange(pageSize) {
				this.page.pageSize = pageSize;
				this.onLoad(this.page)
			},
			//刷新
			refreshChange() {
				this.onLoad(this.page);
			},
			onLoad(page, params = {},done) {
				this.loading = true;
				if(this.query.organizationIds ){
					if(this.query.organizationIds.length>0){
						this.query.organizationIds = this.query.organizationIds.toString()
					}else{
						params.organizationIds =''
					}
				}else{
					params.organizationIds =''
				}
				getActList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
					if(done){
						done();
					}
					this.loading = false;
					const data = res.data;
					this.page.total = data.count;
					this.data = data.data;
				});
				if(this.query.organizationIds && this.query.organizationIds.length>0){
					let arr = this.query.organizationIds.split(',')
					this.query.organizationIds =[]
					arr.forEach(item=>{
						this.query.organizationIds.push(Number(item)) 
					})
				}
			}
		}
	};
</script>

<style scoped>
	.drawerHeader {
		font-size: 20px;
		padding: 30px 20px;
	}

	.upload {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}

	.tsmsg {
		width: 200px;
		font-size: 10px;
		color: #999;
		margin: 0px;
		padding-left: 10px;
	}

	.diaLink {
		font-size: 20px;
		padding: 10px;
	}

	.diaLink p {
		padding: 10px;
	}
	.auditColor{
		color: #010101;
	}
</style>
